home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Periodicals / develop / develop 4 code / C++ Driver / iacDriver / iacGlobalNewDel.cp < prev    next >
Encoding:
Text File  |  1990-05-16  |  1.5 KB  |  59 lines  |  [TEXT/MPS ]

  1. /**********************************Comment*****************************************
  2.  * because C++ calls new and delete inside of constructors (unnecessarily, near as I 
  3.  * can figure), we declare do nothing versions of global operator new and global 
  4.  * operator delete here, so the linker doesn't barf.  Note: we have to use the "mangled"
  5.  * name because CFront has that name, and uses it to call global new/delete.
  6.  **********************************End Comment************************************/
  7.  
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11.  
  12.  
  13.  
  14. #include <Memory.h>
  15.  
  16. /* unmangle __nw__FUi
  17.  * Unmangled symbol: operator new(unsigned int)
  18.  * We return a void * because new returns a pointer.    */
  19. void *__nw__FUi(unsigned int size)        
  20. {                                                    
  21.     Ptr ptr;
  22.  
  23.     ptr = NewPtrSys(size);
  24.     return ptr;
  25. }
  26. /* unmangle __dl__FPv
  27.  * Unmangled symbol: operator delete(void *)
  28.  * We return void just for clarity                        */
  29.  
  30. void __dl__FPv(void *obj)                    
  31. {                                                    
  32.     DisposPtr((Ptr) obj);
  33. }
  34.  
  35. /* unmangle __nw__12HandleObjectSFUi
  36.  * Unmangled symbol: static HandleObject::operator new(unsigned int)
  37.  * We return a void ** because this version of new should return 
  38.  * a handle.                                                    */
  39.  
  40. void **__nw__12HandleObjectSFUi(unsigned int size)
  41. {
  42. Handle    aHdl;
  43.  
  44. aHdl = NewHandleSys(size);
  45. return aHdl;
  46. }
  47.  
  48. /* unmangle __dl__12HandleObjectSFPPv
  49.  * Unmangled symbol: static HandleObject::operator delete(void **) */
  50.  
  51. void __dl__12HandleObjectSFPPv(void **aHandle)
  52. {
  53. DisposHandle((Handle) aHandle);
  54. }
  55.  
  56. #ifdef __cplusplus
  57. }
  58. #endif
  59.